package de.fhb.fitmeier.dbhibernate.persistence;
// Generated 10.03.2012 17:17:31 by Hibernate Tools 3.4.0.CR1


import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Kunde generated by hbm2java
 */
@Entity
@Table(name="Kunde")
public class Kunde  implements java.io.Serializable {


     private Integer kundennummer;
     private Adresse adresse;
     private Date gebdatum;
     private String telefon;
     private String mobil;
     private String fax;
     private Boolean quittung;
     private Set<Bestellung> bestellungs = new HashSet<Bestellung>(0);
     private Stammkunde stammkunde;

    public Kunde() {
    }

	
    public Kunde(Adresse adresse, Date gebdatum) {
        this.adresse = adresse;
        this.gebdatum = gebdatum;
    }
    public Kunde(Adresse adresse, Date gebdatum, String telefon, String mobil, String fax, Boolean quittung, Set<Bestellung> bestellungs, Stammkunde stammkunde) {
       this.adresse = adresse;
       this.gebdatum = gebdatum;
       this.telefon = telefon;
       this.mobil = mobil;
       this.fax = fax;
       this.quittung = quittung;
       this.bestellungs = bestellungs;
       this.stammkunde = stammkunde;
    }
   
     @Id @GeneratedValue(strategy=IDENTITY)

    
    @Column(name="Kundennummer", unique=true, nullable=false)
    public Integer getKundennummer() {
        return this.kundennummer;
    }
    
    public void setKundennummer(Integer kundennummer) {
        this.kundennummer = kundennummer;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="Rechnungsadr", nullable=false)
    public Adresse getAdresse() {
        return this.adresse;
    }
    
    public void setAdresse(Adresse adresse) {
        this.adresse = adresse;
    }

    @Temporal(TemporalType.DATE)
    @Column(name="Gebdatum", nullable=false, length=10)
    public Date getGebdatum() {
        return this.gebdatum;
    }
    
    public void setGebdatum(Date gebdatum) {
        this.gebdatum = gebdatum;
    }

    
    @Column(name="Telefon", length=20)
    public String getTelefon() {
        return this.telefon;
    }
    
    public void setTelefon(String telefon) {
        this.telefon = telefon;
    }

    
    @Column(name="Mobil", length=20)
    public String getMobil() {
        return this.mobil;
    }
    
    public void setMobil(String mobil) {
        this.mobil = mobil;
    }

    
    @Column(name="Fax", length=20)
    public String getFax() {
        return this.fax;
    }
    
    public void setFax(String fax) {
        this.fax = fax;
    }

    
    @Column(name="Quittung")
    public Boolean getQuittung() {
        return this.quittung;
    }
    
    public void setQuittung(Boolean quittung) {
        this.quittung = quittung;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="kunde")
    public Set<Bestellung> getBestellungen() {
        return this.bestellungs;
    }
    
    public void setBestellungen(Set<Bestellung> bestellungen) {
        this.bestellungs = bestellungen;
    }

@OneToOne(fetch=FetchType.LAZY, mappedBy="kunde")
    public Stammkunde getStammkunde() {
        return this.stammkunde;
    }
    
    public void setStammkunde(Stammkunde stammkunde) {
        this.stammkunde = stammkunde;
    }




}


